package de.htw_saarland.webservices.robotersteuerung;

import java.util.LinkedList;
import javax.jws.*; 
import javax.jws.soap.SOAPBinding; 

import de.htw_saarland.webservices.robotersteuerung.data.SensorData;

/**
 * @author Sascha Reichert	
 * Service Klasse 
 * Diese Serviceklasse dient dazu, die Abfrage von RoboterSensoren zu ermöglichen
 * 
 */
@WebService(name="SensorService") 
@SOAPBinding(style = SOAPBinding.Style.RPC) 
public class SensorService {

	/**
	 * Gibt die Sensordaten eines Sensors zurück
	 * @param sensorNumber Nummer des Sensors der angesprochen werden soll
	 * @return Gibt den Sensorwert zurück
	 * @throws SensorServiceException 
	 */
	@WebMethod
	public SensorData getSensorData(@WebParam(name="roboID")String robotID,@WebParam(name="sensorID") String sensorID) 
	{		
		SensorData sd = DataFacade.getDataFacade.getSensorData(robotID,sensorID); 		
		return sd; 
	}
	
	/**
	 * Gibt eine Liste mit Sensoren zurück 
	 * @param robotID
	 * @return
	 * @throws SensorServiceException 
	 */
	@WebMethod
	public SensorData[] getSensorList(@WebParam(name="roboID")String robotID) 
	{
		LinkedList<SensorData> sensorList;
		sensorList = DataFacade.getDataFacade.getSensorDataList(robotID); 
		SensorData[] list = new SensorData[sensorList.size()]; 
		sensorList.toArray(list); 
		return list; 
	}

}
